package ln.javatest.day13.demo02;
/*
File类遍历（文件夹）目录功能
    public String[] list():返回一个String数组，表示该File目录中的所有文件或目录。
    public File[] listFiles():返回一个File数组，表示该File目录中的所有子文件或目录。
注意：
    list方法和listFiles方法遍的是构造方法中给出的目录
    如果构造方法中给出的目录的路径不存在，会抛出空指针异常
    如果构造方法中给出的路径不是一个目录，也会抛出空指针异常
*/

import java.io.File;

public class Demo06File {
    public static void main(String[] args) {
        show01();
        show02();
    }

    /*
     public File[] listFiles():返回一个File数组，表示该File目录中的所有子文件或目录。
     遍历构造方法中给出的目录，会获取目录中所有文件/文件夹封装为File对象，多个File对象存储到File数组中
    */
    private static void show02() {
        File file= new File("D:\\桌面\\Java作业题");
        File[] files = file.listFiles();
        for (File fileName : files) {
            System.out.println(fileName);
        }

    }

    /*
    public String[] list():返回一个String数组，表示该File目录中的所有文件或目录。
    遍历构造方法中给出的目录，获取目录中所有文件/文件夹的名称，把获取到的多个名称存储到一个String类型的数组中中
    还能获取到隐藏的文件和文件夹
    */
    private static void show01() {
        File file= new File("D:\\桌面\\Java作业题");
//        File file= new File("D:\\桌面\\Jav"); //文件夹名错误，空指针异常
//        File file= new File("D:\\桌面\\Java作业题"); //还能获取到隐藏的文件和文件夹
        String[] arr = file.list();
        for (String filename : arr) {
            System.out.println(filename);
        }
    }
}
